UAS - Pemrograman 2 - Aplikasi WEB Penjualan Jasa

A. Pro 17 Aplikasi Web Penjualan Jasa

Membuat Project baru dengan nama JasaNama



Membuat style.css

Source Code style.css

@import 'https://fonts.googleapis.com/css?family=Montserrat:400,700|Roboto:300i,300,400,500';
* {
    box-sizing: border-box;
}

body{
    background: #eee;
    font-family: arial, "roboto";
    margin: 0;
    padding: 0px;
    font-size: 14px;
    font-weight: 300;
    position: relative;
}

header {
    padding: 50px;
    text-align: center;
    background: #0f3057;
    color: white;
    border-radius: 5px 5px 0px 0px;
}

header h1 {
    font-size: 40px;
    margin: 5px;
}

header p {
    margin: 0px;
}

.container {
    width: 1020px;
    padding-right: 15px;
    padding-left: 15px;    
    margin: 20px auto;
}
.topnav {
    overflow: hidden;
    background-color: #00587a;
    border-radius: 0px 0px 5px 5px;
}

.topnav a {
    float: left;
    display: block;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
}

.active {
    background-color: #008891;
    color: white;
}

.topnav .icon {
    display: none;
}

.dropdown {
    float: left;
    overflow: hidden;
}

.dropdown .dropbtn {
    font-size: 17px;    
    border: none;
    outline: none;
    color: white;
    padding: 14px 16px;
    background-color: inherit;
    font-family: inherit;
    margin: 0;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content a {
    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.topnav a:hover, .dropdown:hover .dropbtn {
    background-color: #41aea9;
    color: white;
}

.dropdown-content a:hover {
    background-color: #ddd;
    color: black;
}

.dropdown:hover .dropdown-content {
    display: block;
}

#content {
    float: left;
    width: 70%;
    background-color: white;
    padding: 20px;
    margin-top: 20px;    
    margin-bottom: 20px;
    border-radius: 5px;
}

#content img {
    background-color: #f8efd4;
    width: 100%;
    padding: 5px;
    border-radius: 5px;
}

#content h2 {
    margin: 5px 0px;
}

#content p {
    margin: 0px;
}

#sub {
    width: 50%;
    text-align: center;
}

form {
    text-align: left;
}

article {
    background-color: white;
    padding: 20px;
    margin-top: 20px;
    border-radius: 5px;
}

article h5 {
    color: gray;
    text-align: right;
    font-size: 12px;
    margin: 0px 0px 10px 0px;
    display: block;
}

article a {
    text-decoration: none;
    font-style: italic;
    color: #d7385e;
}
aside {
    float: right;
    width: 29%;
    margin-bottom: 20px;
}

.side {
    background-color: white;
    padding: 10px;
    margin-top: 20px;
    border-radius: 5px;
}

.side h2 {
    color: white;
    margin: 0px;
    background-color: #0d7377;
    padding: 5px;
    font-size: 20px;
    border-radius: 2px;
    margin-bottom: 5px;
    text-align: center;
}

.side img {
    width: 100%;
    border-radius: 5px;
}

.sidenav {
    width: 100%;
    position: relative;
    background-color: #00587a;
    overflow-x: hidden;
    border-radius: 2px;
}

.sidenav a, .dropdown-btn {
    padding: 6px 8px 6px 8px;
    text-decoration: none;
    font-size: 17px;
    color: white;
    display: block;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    outline: none;
    border: 1px solid;
}

.sidenav a:hover, .dropdown-btn:hover {
    color: #f1f1f1;
}

.main {
    margin-left: 200px; 
    font-size: 20px; 
    padding: 0px 10px;
}

.sidenav .active {
    background-color: #008891;
    color: white;
}

.dropdown-container {
    display: none;
    background-color: #8bcdcd;
    border: 2px;
}

.sidenav .fa-caret-down {
    float: right;
    padding-right: 8px;
}

footer {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 10px;
    text-align: center;
    background: #0f3057;
    color: white;
    border-radius: 5px;
}

footer p {
    margin: 0px;
}

input[type=text], input[type=number], input[type=tel], input[type=password], input[type=date], select, textarea {
    width: 100%;
    padding: 12px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

input[type=submit] {
    width: 100%;
    background-color: #2c82c9;
    color: white;
    padding: 10px;
    margin: 8px 0;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
}

input[type=submit]:hover {
    background-color: #2574a9;
}

#login {border: 3px solid #f1f1f1;}

.logincontainer button {
    background-color: #2c82c9;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 100%;
}

.logincontainer button:hover {
    opacity: 0.8;
}

#cancelbtn {
    width: auto;
    padding: 10px 18px;
    background-color: #f44336;
}
.logincontainer {
    padding: 16px;
}

#simpan, #hapus, #lihat, #sebelum, #pilih, #sesudah, #tampil, #sblm, #plh, #ssdh {
    width: 20%;
    margin: 5px;
}

#mulai, #jml {
    width: 10%;
    margin: 5px;
}

.tbl {
    margin: 10px;
}

td {
    padding: 5px;
}

table#t01 tr:nth-child(even) {
    background-color: #eee;
}
table#t01 tr:nth-child(odd) {
   background-color:#fff;
}
table#t01 th{
    background-color: #0d7377;
    color: white;
    padding: 5px;
}

/* Responsive layout */
@media screen and (max-device-width: 800px) {
    body {
        padding: 0px;
    }
    #content, aside {   
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    .topnav a:not(:first-child), .dropdown .dropbtn {
        display: none;
    }
    .topnav a.icon {
        float: right;
        display: block;
    }
}

@media screen and (max-width: 600px) {
    .topnav.responsive {position: relative;}
    .topnav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }
    .topnav.responsive a {
        float: none;
        display: block;
        text-align: left;
    }
    .topnav.responsive .dropdown {
        float: none;
    }
    .topnav.responsive .dropdown-content {
        position: relative;
    }
    .topnav.responsive .dropdown .dropbtn {
        display: block;
        width: 100%;
        text-align: left;
    }
    #simpan, #hapus, #lihat, #sebelum, #pilih, #sesudah, #tampil, #sblm, #plh, #ssdh {
        width: 100%;
        margin: 0px 0px 5px;
    }
    #mulai, #jml {
        width: 30%;
    }
}

@media screen and (max-width:1249px) {
    .container {
        width:1170px
    }
}
@media screen and (max-width:1199px) {
    .container {
        width:970px
    }
}
@media screen and (max-width:991px) {
    .container {
        width:100%;
        padding-left:10px;
        padding-right:10px
    }
}

@media screen and (max-height: 450px) {
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
}

@media screen and (max-width: 300px) {
    span.psw {
        display: block;
        float: none;
    }
    .cancelbtn {
        width: 100%;
    }
}


Membuat menu Master Data, Transaksi, Laporan


Source Code Index.jsp

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>JasaFikri</title>
        <link rel="stylesheet" type="text/css" href="style.css">  
        <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
        <script src="script.js"></script>
    </head>
    <body>
        <div class="container">
            <header>
                <h1>JasaFikri</h1>
                <p>Menyediakan sewa mobil dengan harga termurah dan keamanan terjamin.<br>Driver profesional handal dan berpengalaman.</p>  
            </header>
            <%
                String topMenu = "<a href=. class='active'>Home</a>"
                        + "<a href=LoginController>Login</a>"
                        + "<div class='dropdown'>"
                        + "<button class='dropbtn'>Master Data "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-content'>"
                        + "<a href=DataMobilController>Data Mobil</a>"
                        + "<a href=DataCustomerController>Data Customer</a>"
                        + "<a href=DataUserController>Data User</a>"
                        + "</div>"
                        + "</div>"
                        + "<div class='dropdown'>"
                        + "<button class='dropbtn'>Data Transaksi "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-content'>"
                        + "<a href=RentalMobilController>Rental Mobil</a>"
                        + "</div>"
                        + "</div>"
                        + "<div class='dropdown'>"
                        + "<button class='dropbtn'>Laporan "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-content'>"
                        + "<a href=LaporanRentalMobilController>Rental Mobil</a>"
                        + "<a href=StokMobilController>Stok Mobil</a>"
                        + "</div>"
                        + "</div>"
                        + "<a href=About>About</a>"
                        + "<a href='javascript:void(0);' style='font-size:15px;' class='icon' onclick='myFunction()'>&#9776;</a>";

                String sideMenu = "<h2>Menu</h2>"
                        + "<div class='sidenav'>"
                        + "<a href=LoginController>Login</a>"
                        + "<button class='dropdown-btn'>Master Data "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-container'>"
                        + "<a href=DataMobilController>Data Mobil</a>"
                        + "<a href=DataCustomerController>Data Customer</a>"
                        + "<a href=DataUserController>Data User</a>"
                        + "</div>"
                        + "<button class='dropdown-btn'>Transaksi "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-container'>"
                        + "<a href=RentalMobilController>Rental Mobil</a>"
                        + "</div>"
                        + "<button class='dropdown-btn'>Laporan "
                        + "<i class='fa fa-caret-down'></i>"
                        + "</button>"
                        + "<div class='dropdown-container'>"
                        + "<a href=LaporanRentalMobilController>Rental Mobil</a>"
                        + "<a href=StokMobilController>Stok Mobil</a>"
                        + "</div>"
                        + "</div>";

                String konten = "<h2>Selamat Datang</h2>";
                String paragraf = "<p>Kami melayani dengan profesional demi kenyamanan anda. Hubungi kami sekarang juga. Kepuasan anda adalah prioritas kami. Mobil Terbaru dan Bersih.</p>";
                String userName = "";

                if (!session.isNew()) {
                    try {
                        userName = session.getAttribute("userName").toString();
                    } catch (Exception ex) {
                    }

                    if (!((userName == null) || userName.equals(""))) {
                        konten = "<h2>Selamat Datang " + userName + "</h2>";

                        try {
                            sideMenu = session.getAttribute("sideMenu").toString();
                        } catch (Exception ex) {
                        }

                        try {
                            topMenu = session.getAttribute("topMenu").toString();
                        } catch (Exception ex) {
                        }
                    }
                }
            %>
            <div class="topnav" id="myTopnav">
                <%=topMenu%>
            </div>
            <main>
                <div id="content">
                    <%=konten%>
                    <%=paragraf%>
                </div>
                <aside>
                    <div class="side">
                        <%=sideMenu%>
                    </div>
                </aside>
            </main>
            <footer>
                <p>Copyright &#169; 2020 JasaFikri<br>Created by Akhmad Fikri Septiawan</p>
            </footer>
        </div>
        <script type="text/javascript">
            var dropdown = document.getElementsByClassName("dropdown-btn");
            var i;

            for (i = 0; i < dropdown.length; i++) {
                dropdown[i].addEventListener("click", function () {
                    this.classList.toggle("active");
                    var dropdownContent = this.nextElementSibling;
                    if (dropdownContent.style.display === "block") {
                        dropdownContent.style.display = "none";
                    } else {
                        dropdownContent.style.display = "block";
                    }
                });
            }
        </script>
    </body>
</html>


Membuat Fasilitas Login

Source Code LoginController.java

HttpSession session = request.getSession(true);
        String userName = "";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (((userName == null) || userName.equals(""))) {
            String username = request.getParameter("username");
            String password = request.getParameter("password");

            String konten = "<form id='login' action=LoginController method=post>"
                    + "<div class='logincontainer'>"
                    + "<label for='username'><b>Username</b></label>"
                    + "<input class='inputlogin' type='text' placeholder='Enter Username' name='username' required>"
                    + "<label for='password'><b>Password</b></label>"
                    + "<input type='password' placeholder='Enter Password' name='password' required>"
                    + "<input type='submit'>"
                    + "</div>"
                    + "<div class='logincontainer' style='background-color:#f1f1f1'>"
                    + "<button type='button' id='cancelbtn' onclick=document.location='.'>Cancel</button>"
                    + "</div>"
                    + "</form>";
            String pesan = "";

            if (username == null) {
            } else if (username.equals("")) {
                pesan = "<br><br><font style='color:red'>Username harus diisi</font>";
            } else {
                DataUser dataUser = new DataUser();
                Enkripsi enkripsi = new Enkripsi();

                pesan = "<br><br><font style='color:red'>Username atau password salah</font>";

                if (dataUser.baca(username)) {
                    String passwordEncrypted = "";

                    try {
                        passwordEncrypted = enkripsi.hashMD5(password);
                    } catch (Exception ex) {
                    }

                    if (passwordEncrypted.equals(dataUser.getPassword())) {
                        pesan = "";
                        session.setAttribute("userName", dataUser.getUsername().equals("") ? "No Name" : dataUser.getUsername());
                        String topMenu = "<a href=. class='active'>Home</a>"
                                + "<div class='dropdown'>"
                                + "<button class='dropbtn'>Master Data "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-content'>"
                                + "<a href=DataMobilController>Data Mobil</a>"
                                + "<a href=DataCustomerController>Data Customer</a>"
                                + "<a href=DataUserController>Data User</a>"
                                + "</div>"
                                + "</div>"
                                + "<div class='dropdown'>"
                                + "<button class='dropbtn'>Data Transaksi "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-content'>"
                                + "<a href=RentalMobilController>Rental Mobil</a>"
                                + "</div>"
                                + "</div>"
                                + "<div class='dropdown'>"
                                + "<button class='dropbtn'>Laporan "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-content'>"
                                + "<a href=LaporanRentalMobilController>Rental Mobil</a>"
                                + "<a href=StokMobilController>Stok Mobil</a>"
                                + "</div>"
                                + "</div>"
                                + "<a href=About>About</a>"
                                + "<a href=LogoutController>Logout</a>"
                                + "<a href='javascript:void(0);' style='font-size:15px;' class='icon' onclick='myFunction()'>&#9776;</a>";
                        session.setAttribute("topMenu", topMenu);

                        String sideMenu = "<h2>Menu</h2>"
                                + "<div class='sidenav'>"
                                + "<button class='dropdown-btn'>Master Data "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-container'>"
                                + "<a href=DataMobilController>Data Mobil</a>"
                                + "<a href=DataCustomerController>Data Customer</a>"
                                + "<a href=DataUserController>Data User</a>"
                                + "</div>"
                                + "<button class='dropdown-btn'>Transaksi "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-container'>"
                                + "<a href=RentalMobilController>Rental Mobil</a>"
                                + "</div>"
                                + "<button class='dropdown-btn'>Laporan "
                                + "<i class='fa fa-caret-down'></i>"
                                + "</button>"
                                + "<div class='dropdown-container'>"
                                + "<a href=LaporanRentalMobilController>Rental Mobil</a>"
                                + "<a href=StokMobilController>Stok Mobil</a>"
                                + "</div>"
                                + "<a href=LogoutController>Logout</a>"
                                + "</div>";
                        session.setAttribute("sideMenu", sideMenu);

                        session.setMaxInactiveInterval(15 * 60); // 15 x 60 detik = 15 menit
                        konten = "";
                    }
                } else if (!dataUser.getPesan().substring(0, 3).equals("username")) {
                    pesan = "<br><br><font style='color:red'>" + dataUser.getPesan().replace("n", "<br>") + "</font>";
                }
            }

            new MainForm().tampilkan(konten + pesan, request, response);
        } else {
            response.sendRedirect(".");
        }
        


Output:



Membuat Form untuk Master Data

Data Mobil

Source Code DataMobilController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession(true);
        DataMobil dataMobil = new DataMobil();
        String userName = "";

        String tombol = request.getParameter("tombol");
        String kodeMobil = request.getParameter("kodeMobil");
        String namaMobil = request.getParameter("namaMobil");
        String hargaPerHari = request.getParameter("hargaPerHari");
        String stok = request.getParameter("stok");
        String transmisi = request.getParameter("transmisi");
        String kapasitas = request.getParameter("kapasitas");
        String mulaiParameter = request.getParameter("mulai");
        String jumlahParameter = request.getParameter("jumlah");
        String kodeMobilDipilih = request.getParameter("kodeMobilDipilih");

        if (tombol == null) {
            tombol = "";
        }
        if (kodeMobil == null) {
            kodeMobil = "";
        }
        if (namaMobil == null) {
            namaMobil = "";
        }
        if (hargaPerHari == null) {
            hargaPerHari = "";
        }
        if (stok == null) {
            stok = "";
        }
        if (transmisi == null) {
            transmisi = "Otomatis";
        }
        if (kapasitas == null) {
            kapasitas = "";
        }
        if (kodeMobilDipilih == null) {
            kodeMobilDipilih = "";
        }

        int mulai = 0, jumlah = 10;

        try {
            mulai = Integer.parseInt(mulaiParameter);
        } catch (NumberFormatException ex) {
        }

        try {
            jumlah = Integer.parseInt(jumlahParameter);
        } catch (NumberFormatException ex) {
        }

        String keterangan = "<br>";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (!((userName == null) || userName.equals(""))) {
            if (tombol.equals("Simpan")) {
                if (!kodeMobil.equals("")) {
                    dataMobil.setKodeMobil(kodeMobil);
                    dataMobil.setNamaMobil(namaMobil);
                    dataMobil.setHargaPerHari(Long.parseLong(hargaPerHari));
                    dataMobil.setStokMobil(Integer.parseInt(stok));
                    dataMobil.setTransmisi(transmisi);
                    dataMobil.setKapasitas(Integer.parseInt(kapasitas));

                    if (dataMobil.simpan()) {
                        kodeMobil = "";
                        namaMobil = "";
                        hargaPerHari = "0";
                        stok = "0";
                        kapasitas = "0";
                        keterangan = "Sudah tersimpan";
                    } else {
                        keterangan = "Gagal menyimpan:n" + dataMobil.getPesan();
                    }
                } else {
                    keterangan = "Gagal menyimpan, kode mobil tidak boleh kosong";
                }
            } else if (tombol.equals("Hapus")) {
                if (!kodeMobil.equals("")) {
                    if (dataMobil.hapus(kodeMobil)) {
                        kodeMobil = "";
                        namaMobil = "";
                        hargaPerHari = "0";
                        stok = "0";
                        kapasitas = "0";
                        keterangan = "Data sudah dihapus";
                    } else {
                        keterangan = "Kode mobil tersebut tidak ada, atau ada kesalahan:n" + dataMobil.getPesan();
                    }
                } else {
                    keterangan = "Kode mobil masih kosong";
                }
            } else if (tombol.equals("Cari")) {
                if (!kodeMobil.equals("")) {
                    if (dataMobil.baca(kodeMobil)) {
                        kodeMobil = dataMobil.getKodeMobil();
                        namaMobil = dataMobil.getNamaMobil();
                        hargaPerHari = Long.toString(dataMobil.getHargaPerHari());
                        stok = Integer.toString(dataMobil.getStokMobil());
                        transmisi = dataMobil.getTransmisi();
                        kapasitas = Integer.toString(dataMobil.getKapasitas());
                        keterangan = "<br>";
                    } else {
                        keterangan = "Kode mobil tersebut tidak ada";
                    }
                } else {
                    keterangan = "Kode mobil masih kosong";
                }
            } else if (tombol.equals("Pilih")) {
                kodeMobil = kodeMobilDipilih;
                namaMobil = "";
                stok = "0";
                hargaPerHari = "0";
                if (!kodeMobilDipilih.equals("")) {
                    if (dataMobil.baca(kodeMobilDipilih)) {
                        kodeMobil = dataMobil.getKodeMobil();
                        namaMobil = dataMobil.getNamaMobil();
                        hargaPerHari = Long.toString(dataMobil.getHargaPerHari());
                        stok = Integer.toString(dataMobil.getStokMobil());
                        transmisi = dataMobil.getTransmisi();
                        kapasitas = Integer.toString(dataMobil.getKapasitas());
                        keterangan = "<br>";
                    } else {
                        keterangan = "Kode mobil tersebut tidak ada";
                    }
                } else {
                    keterangan = "Tidak ada yang dipilih";
                }
            }

            String kontenLihat = "";
            if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Berikutnya") || tombol.equals("Tampilkan")) {
                kontenLihat += "<center>";
                kontenLihat += "<div class='tbl'>";
                kontenLihat += "<table>";
                if (tombol.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombol.equals("Berikutnya")) {
                    mulai += jumlah;
                }

                Object[][] listDataMobil = null;
                if (dataMobil.bacaData(mulai, jumlah)) {
                    listDataMobil = dataMobil.getList();
                } else {
                    keterangan = dataMobil.getPesan();
                }
                if (listDataMobil != null) {
                    for (int i = 0; i < listDataMobil.length; i++) {

                        kontenLihat += "<tr>";
                        kontenLihat += "<td>";
                        if (i == 0) {
                            kontenLihat += "<input type='radio' checked name='kodeMobilDipilih' value='" + listDataMobil[i][0].toString() + "'>";
                        } else {
                            kontenLihat += "<input type='radio' name='kodeMobilDipilih' value='" + listDataMobil[i][0].toString() + "'>";
                        }
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataMobil[i][0].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataMobil[i][1].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "</tr>";
                    }
                }
                kontenLihat += "</table>";
                kontenLihat += "</div>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
                kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
                kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";
                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
                kontenLihat += "</center>";
            }

            String konten = "<center><h1>Master Data Mobil</h1></center>";
            konten += "<form action='DataMobilController' method='post'>";
            konten += "<label for='kodeMobil'><b>Kode Mobil</b></label><br>";
            konten += "<input type='text'  value='" + kodeMobil + "' name='kodeMobil' maxlength='15' size='15' placeholder='Masukkan Kode Mobil ..' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";
            konten += "<label for='namaMobil'><b>Nama Mobil</b></label>";
            konten += "<input type='text' value='" + namaMobil + "' name='namaMobil' maxlength='30' size='30' placeholder='Masukkan Nama Mobil ..'>";
            konten += "<label for='hargaPerHari'><b>Harga/hari</b></label>";
            konten += "<input type='number' value='" + hargaPerHari + "' name='hargaPerHari' placeholder='Masukkan Harga per Hari ..'>";
            konten += "<label for='stok'><b>Stok Mobil</b></label>";
            konten += "<input type='number' name='stok' value='" + stok + "' placeholder='Masukkan Stok Mobil ..'>";
            konten += "<label for='transmisi'><b>Transmisi</b></label>";
            konten += "<select name='transmisi'>";
            if ((transmisi.equalsIgnoreCase("Otomatis")) || transmisi.length() == 0) {
                konten += "<option  selected value='Otomatis'>Otomatis</option>";
            } else {
                konten += "<option value='Otomatis'>Otomatis</option>";
            }
            if (transmisi.equalsIgnoreCase("Manual")) {
                konten += "<option  selected value='Manual'>Manual</option>";
            } else {
                konten += "<option value='Manual'>Manual</option>";
            }
            konten += "</select>";
            konten += "<label for='kapasitas'><b>Kapasitas</b></label>";
            konten += "<input type='number' name='kapasitas' value='" + kapasitas + "' placeholder='Masukkan Kapasitas ..'>";
            konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
            
            konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
            konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
            konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
            konten += kontenLihat;
            konten += "</form>";

            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }
    }

 

Output:


Data Customer

Source Code DataCustomerController.java


protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession(true);
        DataCustomer dataCustomer = new DataCustomer();
        String userName = "";

        String tombol = request.getParameter("tombol");
        String namaCustomer = request.getParameter("nama");
        String alamatCustomer = request.getParameter("alamat");
        String telpon = request.getParameter("telepon");
        String mulaiParameter = request.getParameter("mulai");
        String jumlahParameter = request.getParameter("jumlah");
        String namaCustomerDipilih = request.getParameter("namaCustomerDipilih");

        if (tombol == null) {
            tombol = "";
        }
        if (namaCustomer == null) {
            namaCustomer = "";
        }
        if (alamatCustomer == null) {
            alamatCustomer = "";
        }
        if (telpon == null) {
            telpon = "";
        }
        if (namaCustomerDipilih == null) {
            namaCustomerDipilih = "";
        }

        int mulai = 0, jumlah = 10;

        try {
            mulai = Integer.parseInt(mulaiParameter);
        } catch (NumberFormatException ex) {
        }

        try {
            jumlah = Integer.parseInt(jumlahParameter);
        } catch (NumberFormatException ex) {
        }

        String keterangan = "<br>";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (!((userName == null) || userName.equals(""))) {
            if (tombol.equals("Simpan")) {
                if (!namaCustomer.equals("")) {
                    dataCustomer.setNamaCustomer(namaCustomer);
                    dataCustomer.setAlamatCustomer(alamatCustomer);
                    dataCustomer.setTelpCustomer(telpon);

                    if (dataCustomer.simpan()) {
                        namaCustomer = "";
                        alamatCustomer = "";
                        telpon = "";
                        keterangan = "Sudah tersimpan";
                    } else {
                        keterangan = "Gagal menyimpan:n" + dataCustomer.getPesan();
                    }
                } else {
                    keterangan = "Gagal menyimpan, nama customer tidak boleh kosong";
                }
            } else if (tombol.equals("Hapus")) {
                if (!namaCustomer.equals("")) {
                    if (dataCustomer.hapus(namaCustomer)) {
                        namaCustomer = "";
                        alamatCustomer = "";
                        telpon = "";
                         keterangan = "Data sudah dihapus";
                    } else {
                        keterangan = "Nama Customer tersebut tidak ada, atau ada kesalahan:n" + dataCustomer.getPesan();
                    }
                } else {
                    keterangan = "Nama Customer masih kosong";
                }
            } else if (tombol.equals("Cari")) {
                if (!namaCustomer.equals("")) {
                    if (dataCustomer.baca(namaCustomer)) {
                        namaCustomer = dataCustomer.getNamaCustomer();
                        alamatCustomer = dataCustomer.getAlamatCustomer();
                        telpon = dataCustomer.getTelpCustomer();
                        keterangan = "<br>";
                    } else {
                        keterangan = "Nama Customer tersebut tidak ada";
                    }
                } else {
                    keterangan = "Nama Customer masih kosong";
                }
            } else if (tombol.equals("Pilih")) {
                namaCustomer = namaCustomerDipilih;
                alamatCustomer = "";
                telpon = "";
                if (!namaCustomerDipilih.equals("")) {
                    if (dataCustomer.baca(namaCustomerDipilih)) {
                        namaCustomer = dataCustomer.getNamaCustomer();
                        alamatCustomer = dataCustomer.getAlamatCustomer();
                        telpon = dataCustomer.getTelpCustomer();
                        keterangan = "<br>";
                    } else {
                        keterangan = "Nama Customer tersebut tidak ada";
                    }
                } else {
                    keterangan = "Tidak ada yang dipilih";
                }
            }

            String kontenLihat = "";
            if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Setelah") || tombol.equals("Tampilkan")) {
                kontenLihat += "<center>";
                kontenLihat += "<div class='tbl'>";
                kontenLihat += "<table>";

                if (tombol.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombol.equals("Setelah")) {
                    mulai += jumlah;
                }

                Object[][] listDataCustomer = null;
                if (dataCustomer.bacaData(mulai, jumlah)) {
                    listDataCustomer = dataCustomer.getList();
                } else {
                    keterangan = dataCustomer.getPesan();
                }

                if (listDataCustomer != null) {
                    for (int i = 0; i < listDataCustomer.length; i++) {

                        kontenLihat += "<tr>";
                        kontenLihat += "<td>";
                        if (i == 0) {
                            kontenLihat += "<input type='radio' checked name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
                        } else {
                            kontenLihat += "<input type='radio' name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
                        }
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataCustomer[i][1].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "</tr>";
                    }
                }

                kontenLihat += "</table>";
                kontenLihat += "</div>";
                kontenLihat += "</center>";

                kontenLihat += "<center>";
                kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
                kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
                kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";
                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
                kontenLihat += "</center>";
            }

            String konten = "<center><h1>Master Data Customer</h1></center>";
            konten += "<form action='DataCustomerController' method='post'>";            
            konten += "<label for='nama'><b>Nama Customer</b></label><br>";
            konten += "<input type='text'  value='" + namaCustomer + "' name='nama' maxlength='30' size='15' placeholder='Masukkan Nama Customer..' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";
            konten += "<label for='telepon'><b>Telepon</b></label>";
            konten += "<input type='tel' value='"+telpon+"' name='telepon' placeholder='Masukkan Nomor Telepon..'>";
            konten += "<label for='alamat'><b>Alamat</b></label>";
            konten += "<textarea name='alamat' rows='3' cols='30' placeholder='Masukkan Alamat..' style='font: unset;'>"+alamatCustomer+"</textarea>";           
            konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
           
            konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
            konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
            konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
            konten += kontenLihat;
            konten += "</form>";

            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }
    }

Output:


Data User

Source Code DataUserController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession(true);
        DataUser dataUser = new DataUser();
        Enkripsi enkripsi = new Enkripsi();
        String userName = "";

        String tombol = request.getParameter("tombol");
        String namaUser = request.getParameter("nama");
        String passwordUser = request.getParameter("password");
        String mulaiParameter = request.getParameter("mulai");
        String jumlahParameter = request.getParameter("jumlah");
        String namaUserDipilih = request.getParameter("namaUserDipilih");

        if (tombol == null) {
            tombol = "";
        }
        if (namaUser == null) {
            namaUser = "";
        }
        if (passwordUser == null) {
            passwordUser = "";
        }
        if (namaUserDipilih == null) {
            namaUserDipilih = "";
        }

        int mulai = 0, jumlah = 10;

        try {
            mulai = Integer.parseInt(mulaiParameter);
        } catch (NumberFormatException ex) {
        }

        try {
            jumlah = Integer.parseInt(jumlahParameter);
        } catch (NumberFormatException ex) {
        }

        String keterangan = "<br>";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (!((userName == null) || userName.equals(""))) {
            if (tombol.equals("Simpan")) {
                if (!namaUser.equals("")) {
                    dataUser.setUsername(namaUser);
                    String passwordEcrypted = "";
                    try {
                        passwordEcrypted = enkripsi.hashMD5(passwordUser);
                    } catch (Exception ex) {
                    }
                    dataUser.setPassword(passwordEcrypted);

                    if (dataUser.simpan()) {
                        namaUser = "";
                        passwordUser = "";
                        keterangan = "Sudah tersimpan";
                    } else {
                        keterangan = "Gagal menyimpan:n" + dataUser.getPesan();
                    }
                } else {
                    keterangan = "Gagal menyimpan, username tidak boleh kosong";
                }
            } else if (tombol.equals("Hapus")) {
                if (!namaUser.equals("")) {
                    if (dataUser.hapus(namaUser)) {
                        namaUser = "";
                        passwordUser = "";
                        keterangan = "Data sudah dihapus";
                    } else {
                        keterangan = "Username tersebut tidak ada, atau ada kesalahan:n" + dataUser.getPesan();
                    }
                } else {
                    keterangan = "Username masih kosong";
                }
            } else if (tombol.equals("Cari")) {
                if (!namaUser.equals("")) {
                    if (dataUser.baca(namaUser)) {
                        namaUser = dataUser.getUsername();
                        passwordUser = dataUser.getPassword();
                        keterangan = "<br>";
                    } else {
                        keterangan = "Username tersebut tidak ada";
                    }
                } else {
                    keterangan = "Username masih kosong";
                }
            } else if (tombol.equals("Pilih")) {
                namaUser = namaUserDipilih;
                passwordUser = "";
                if (!namaUserDipilih.equals("")) {
                    if (dataUser.baca(namaUserDipilih)) {
                        namaUser = dataUser.getUsername();
                        passwordUser = dataUser.getPassword();
                        keterangan = "<br>";
                    } else {
                        keterangan = "Username tersebut tidak ada";
                    }
                } else {
                    keterangan = "Tidak ada yang dipilih";
                }
            }

            String kontenLihat = "";
            if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Berikutnya") || tombol.equals("Tampilkan")) {
                kontenLihat += "<center>";
                kontenLihat += "<div class='tbl'>";
                kontenLihat += "<table>";

                if (tombol.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombol.equals("Berikutnya")) {
                    mulai += jumlah;
                }

                Object[][] listDataUser = null;
                if (dataUser.bacaData(mulai, jumlah)) {
                    listDataUser = dataUser.getList();
                } else {
                    keterangan = dataUser.getPesan();
                }

                if (listDataUser != null) {
                    for (int i = 0; i < listDataUser.length; i++) {

                        kontenLihat += "<tr>";
                        kontenLihat += "<td>";
                        if (i == 0) {
                            kontenLihat += "<input type='radio' checked name='namaUserDipilih' value='" + listDataUser[i][0].toString() + "'>";
                        } else {
                            kontenLihat += "<input type='radio' name='namaUserDipilih' value='" + listDataUser[i][0].toString() + "'>";
                        }
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataUser[i][0].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "</tr>";
                    }
                }

                kontenLihat += "</table>";
                kontenLihat += "</div>";
                kontenLihat += "</center>";

                kontenLihat += "<center>";
                kontenLihat += "<input id='sebelum' type='submit' name='tombol' value='Sebelum'>";
                kontenLihat += "<input id='pilih' type='submit' name='tombol' value='Pilih'>";
                kontenLihat += "<input id='sesudah' type='submit' name='tombol' value='Berikutnya'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";
                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombol' value='Tampilkan'>";
                kontenLihat += "</center>";
            }

            String konten = "<center><h1>Master Data User</h1></center>";
            konten += "<form action='DataUserController' method='post'>";            
            konten += "<label for='nama'><b>Username</b></label><br>";
            konten += "<input type='text'  value='" + namaUser + "' name='nama' maxlength='30' placeholder='Masukkan Username..' size='15' style='width: 70%'><input type='submit' name='tombol' value='Cari' style='width: 28%; float: right'>";            
            konten += "<label for='nama'><b>Passsword</b></label>";
            konten += "<input type='password'   name='password' value='" + passwordUser + "' size='15' placeholder='Masukkan Password..'>";
            konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
           
            konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
            konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
            konten += "<input id='lihat' type='submit' name='tombol' value='Lihat'></center>";
            konten += kontenLihat;
            konten += "</form>";
            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }

 

Output:


Membuat Form Data Transaksi (RentalMobil)

Source Code RentalMobilController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession(true);
        DataCustomer dataCustomer = new DataCustomer();
        DataMobil dataMobil = new DataMobil();
        RentalMobil rentalMobil = new RentalMobil();
        Date tgl = new Date();
        int idCustomer = 0;
        long total = 0;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String userName = "";

        String tombol = request.getParameter("tombol");
        String tombolHitung = request.getParameter("hitung");
        String tombolCustomer = request.getParameter("tombolCustomer");
        String kodeRentalMobil = request.getParameter("kodeRentalMobil");
        String namaCustomer = request.getParameter("namaCustomer");
        String tanggal = request.getParameter("tanggal");
        String kasir = request.getParameter("kasir");
        String mulaiParameter = request.getParameter("mulai");
        String jumlahParameter = request.getParameter("jumlah");
        String namaCustomerDipilih = request.getParameter("namaCustomerDipilih");
        String tombolDataMobil = request.getParameter("tombolDataMobil");
        String kodeMobil = request.getParameter("kodeMobil");
        String namaMobil = request.getParameter("namaMobil");
        String hargaPerHari = request.getParameter("hargaPerHari");
        String transmisi = request.getParameter("transmisi");
        String kodeMobilDipilih = request.getParameter("kodeMobilDipilih");
        String jmlUnit = request.getParameter("jmlUnit");
        String lamaSewa = request.getParameter("lamaSewa");

        if (tombol == null) {
            tombol = "";
        }
        if (kodeRentalMobil == null) {
            kodeRentalMobil = "";
        }
        if (tombolHitung == null) {
            tombolHitung = "";
        }
        if (tombolCustomer == null) {
            tombolCustomer = "";
        }
        if (namaCustomer == null) {
            namaCustomer = "";
        }
        if (tanggal == null) {
            tanggal = sdf.format(tgl);
        }
        if (kasir == null) {
            kasir = "kasir";
        }
        if (namaCustomerDipilih == null) {
            namaCustomerDipilih = "";
        }
        if (tombolDataMobil == null) {
            tombolDataMobil = "";
        }
        if (kodeMobil == null) {
            kodeMobil = "";
        }
        if (namaMobil == null) {
            namaMobil = "";
        }
        if (hargaPerHari == null) {
            hargaPerHari = "0";
        }
        if (transmisi == null) {
            transmisi = "pcs";
        }
        if (kodeMobilDipilih == null) {
            kodeMobilDipilih = "";
        }
        if (jmlUnit == null) {
            jmlUnit = "0";
        }
        if (lamaSewa == null) {
            lamaSewa = "0";
        }

        int mulai = 0, jumlah = 10;

        try {
            mulai = Integer.parseInt(mulaiParameter);
        } catch (NumberFormatException ex) {
        }

        try {
            jumlah = Integer.parseInt(jumlahParameter);
        } catch (NumberFormatException ex) {
        }

        String keterangan = "<br>";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (!((userName == null) || userName.equals(""))) {
            kasir = userName;

            if (tombolCustomer.equals("Cari")) {
                if (!namaCustomer.equals("")) {
                    if (dataCustomer.baca(namaCustomer)) {
                        namaCustomer = dataCustomer.getNamaCustomer();
                        idCustomer = dataCustomer.getIdCustomer();
                        keterangan = "<br>";
                    } else {
                        tanggal = sdf.format(tgl);
                        kasir = "kasir";
                        keterangan = "Nama Customer: <i>" + namaCustomer + "</i> tidak ada";
                    }
                } else {
                    keterangan = "Nama Customer harus diisi";
                }
            } else if (tombolCustomer.equals("Pilih")) {
                namaCustomer = namaCustomerDipilih;
                tanggal = sdf.format(tgl);
                if (!namaCustomerDipilih.equals("")) {
                    if (dataCustomer.baca(namaCustomerDipilih)) {
                        namaCustomer = dataCustomer.getNamaCustomer();
                        idCustomer = dataCustomer.getIdCustomer();
                        keterangan = "<br>";
                    } else {
                        keterangan = "Nama Customer: <i>" + namaCustomer + "</i> tidak ada";
                    }
                } else {
                    keterangan = "Tidak ada yang dipilih";
                }
            }

            String kontenLihat = "";
            if (tombolCustomer.equals("Lihat") || tombolCustomer.equals("Sebelum") || tombolCustomer.equals("Berikutnya") || tombolCustomer.equals("Tampilkan")) {
                kontenLihat += "<center>";
                kontenLihat += "<div class='tbl'>";
                kontenLihat += "<table>";

                if (tombolCustomer.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombolCustomer.equals("Berikutnya")) {
                    mulai += jumlah;
                }

                Object[][] listDataCustomer = null;
                if (dataCustomer.bacaData(mulai, jumlah)) {
                    listDataCustomer = dataCustomer.getList();
                } else {
                    keterangan = dataCustomer.getPesan();
                }

                if (listDataCustomer != null) {
                    for (int i = 0; i < listDataCustomer.length; i++) {
                        kontenLihat += "<tr>";
                        kontenLihat += "<td>";
                        if (i == 0) {
                            kontenLihat += "<input type='radio' checked name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
                        } else {
                            kontenLihat += "<input type='radio' name='namaCustomerDipilih' value='" + listDataCustomer[i][1].toString() + "'>";
                        }
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataCustomer[i][1].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "</tr>";
                    }
                }
                kontenLihat += "</table>";
                kontenLihat += "</div>";
                kontenLihat += "</center>";

                kontenLihat += "<center>";
                kontenLihat += "<input id='sebelum' type='submit' name='tombolCustomer' value='Sebelum'>";
                kontenLihat += "<input id='pilih' type='submit' name='tombolCustomer' value='Pilih'>";
                kontenLihat += "<input id='sesudah' type='submit' name='tombolCustomer' value='Berikutnya'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";
                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombolCustomer' value='Tampilkan'>";
                kontenLihat += "</center>";
            }

            if (tombolDataMobil.equals("Cari")) {
                if (!kodeMobil.equals("")) {
                    if (dataMobil.baca(kodeMobil)) {
                        kodeMobil = dataMobil.getKodeMobil();
                        namaMobil = dataMobil.getNamaMobil();
                        hargaPerHari = Long.toString(dataMobil.getHargaPerHari());
                        keterangan = "<br>";
                    } else {
                        keterangan = "Kode Barang tersebut tidak ada";
                    }
                } else {
                    keterangan = "Kode Barang masih kosong";
                }
            } else if (tombolDataMobil.equals("Pilih")) {
                kodeMobil = kodeMobilDipilih;
                namaMobil = "";
                hargaPerHari = "0";
                jmlUnit = "0";
                if (!kodeMobilDipilih.equals("")) {
                    if (dataMobil.baca(kodeMobilDipilih)) {
                        kodeMobil = dataMobil.getKodeMobil();
                        namaMobil = dataMobil.getNamaMobil();
                        hargaPerHari = Long.toString(dataMobil.getHargaPerHari());
                        keterangan = "<br>";
                    } else {
                        keterangan = "Kode barang tersebut tidak ada";
                    }
                } else {
                    keterangan = "Tidak ada yang dipilih";
                }
            }

            if (tombolDataMobil.equals("Lihat") || tombolDataMobil.equals("Sebelum") || tombolDataMobil.equals("Berikutnya") || tombolDataMobil.equals("Tampilkan")) {
                kontenLihat += "<center>";
                kontenLihat += "<div class='tbl'>";
                kontenLihat += "<table>";

                if (tombolDataMobil.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombolDataMobil.equals("Berikutnya")) {
                    mulai += jumlah;
                }

                Object[][] listDataMobil = null;
                if (dataMobil.bacaData(mulai, jumlah)) {
                    listDataMobil = dataMobil.getList();
                } else {
                    keterangan = dataMobil.getPesan();
                }

                if (listDataMobil != null) {
                    for (int i = 0; i < listDataMobil.length; i++) {
                        kontenLihat += "<tr>";
                        kontenLihat += "<td>";
                        if (i == 0) {
                            kontenLihat += "<input type='radio' checked name='kodeMobilDipilih' value='" + listDataMobil[i][0].toString() + "'>";
                        } else {
                            kontenLihat += "<input type='radio' name='kodeMobilDipilih' value='" + listDataMobil[i][0].toString() + "'>";
                        }
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataMobil[i][0].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "<td>";
                        kontenLihat += listDataMobil[i][1].toString();
                        kontenLihat += "</td>";
                        kontenLihat += "</tr>";
                    }
                }
                kontenLihat += "</table>";
                kontenLihat += "</div>";
                kontenLihat += "</center>";

                kontenLihat += "<center>";
                kontenLihat += "<input id='sblm' type='submit' name='tombolDataMobil' value='Sebelum'>";
                kontenLihat += "<input id='plh' type='submit' name='tombolDataMobil' value='Pilih'>";
                kontenLihat += "<input id='ssdh' type='submit' name='tombolDataMobil' value='Berikutnya'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";
                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombolDataMobil' value='Tampilkan'>";
                kontenLihat += "</center>";
            }

            if (!tombol.equals("")) {
                if (tombol.equals("Simpan")) {
                    if (!namaCustomer.equals("") && !kodeMobil.equals("")) {
                        rentalMobil.setKodeRental(kodeRentalMobil);
                        dataCustomer.setNamaCustomer(namaCustomer);
                        if(dataCustomer.baca(namaCustomer)){
                            idCustomer=dataCustomer.getIdCustomer();
                        }
                        rentalMobil.setListRental(new Object[][]{{kodeRentalMobil, tanggal, idCustomer, kasir, kodeMobil, Integer.parseInt(jmlUnit), Integer.parseInt(lamaSewa)}});
                        if (rentalMobil.simpan()) {
                            //namaCustomer = "";
                            tanggal = sdf.format(tgl);
                            kasir = userName;
                            kodeMobil = "";
                            namaMobil = "";
                            hargaPerHari = "0";
                            jmlUnit="0";
                            lamaSewa="0";
                            keterangan = "Sudah disimpan";
                        } else {
                            keterangan = "Gagal menyimpan:n" + rentalMobil.getPesan();
                        }
                    } else {
                        keterangan = "Kode RentalMobil, Nama Customer dan kode barang tidak boleh kosong";
                    }
                } else if (tombol.equals("Hapus")) {
                    if (!namaCustomer.equals("") && !kodeMobil.equals("")) {
                        if (rentalMobil.hapus(kodeRentalMobil, kodeMobil)) {
                            kodeRentalMobil="";
                            namaCustomer = "";
                            tanggal = sdf.format(tgl);
                            kasir = userName;
                            kodeMobil = "";
                            namaMobil = "";
                            hargaPerHari = "0";
                            jmlUnit = "0";
                            lamaSewa="0";
                            keterangan = "Sudah dihapus";
                        } else {
                            keterangan = "Gagal menghapus:n" + rentalMobil.getPesan();
                        }
                    } else {
                        keterangan = "Kode RentalMobil, Nama Customer dan kode barang tidak boleh kosong";
                    }
                }else if(tombol.equals("Reset")){
                            kodeRentalMobil="";
                            namaCustomer = "";
                            tanggal = sdf.format(tgl);
                            kasir = userName;
                            kodeMobil = "";
                            namaMobil = "";
                            hargaPerHari = "0";
                            jmlUnit = "0";
                            lamaSewa="0";
                }
            }

            String konten = "<center><h1>Input Data Rental  Mobil</h1></center>";
            konten += "<form action='RentalMobilController' method='post'>";
            konten += "<label for='kodeRentalMobil'><b>No. Rental Mobil</b></label><br>";
            konten += "<input type='text'  value='" + kodeRentalMobil + "' maxlength='15' name='kodeRentalMobil' placeholder='Masukkan Kode Rental ..'>";            
            konten += "<label for='namaCustomer'><b>Nama Customer</b></label><br>";
            konten += "<input type='text' value='" + namaCustomer + "' name='namaCustomer' maxlength='15' placeholder='Masukkan Nama Customer ..' style='width: 60%'>";
            konten += "<input type='submit' name='tombolCustomer' value='Cari' style='width: 19%; margin: 5px'><input type='submit' name='tombolCustomer' value='Lihat' style='width: 19%'>";
            
            if (!tombolCustomer.equals("")) {
                if (!keterangan.equals("<br>")) {
                    konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
                }
                konten += kontenLihat;
            }
          
            konten += "<label for='tanggal'><b>Tanggal</b></label>";
            konten += "<input type='date' readonly value='" + tanggal + "' name='tanggal'>";            
            konten += "<label for='kasir'><b>Kasir</b></label>";
            konten += "<input type='text' readonly value='" + kasir + "' name='kasir'>";
            konten += "<label for='kodeMobil'><b>Kode Mobil</b></label><br>";
            konten += "<input type='text' value='" + kodeMobil + "' name='kodeMobil' maxlength='15' placeholder='Masukkan Kode Mobil..' style='width: 60%'>";
            konten += "<input type='submit' name='tombolDataMobil' value='Cari' style='width: 19%; margin: 5px'><input type='submit' name='tombolDataMobil' value='Lihat' style='width: 19%'>";
            
            if (!tombolDataMobil.equals("")) {
                if (!keterangan.equals("<br>")) {
                    konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
                }
                konten += kontenLihat;
            }

            konten += "<label for='kodeMobil'><b>Nama Mobil</b></label>";
            konten += "<input type='text' readonly value='" + namaMobil + "' name='namaMobil' placeholder='Nama Mobil..'>";
            konten += "<label for='hargaPerHari'><b>Harga Rp.</b></label>";
            konten += "<input type='number' readonly value='" + hargaPerHari + "' name='hargaPerHari'>";
            konten += "<label for='jmlUnit'><b>Jumlah Unit</b></label>";
            konten += "<input type='number' min='0' value='" + jmlUnit + "' name='jmlUnit' placeholder='Masukkan Jumlah Unit ..'>";
            konten += "<label for='lamaSewa'><b>Lama Sewa</b></label><br>";
            konten += "<input type='number' min='0' value='" + lamaSewa + "' name='lamaSewa' placeholder='Masukkan Lama Sewa ..' style='width: 95%'> Hari<br>";
            int nilaiJmlUnit = 0;
            long nilaiHarga = 0;            
            int nilaiSewa = 0;
            try {
                nilaiJmlUnit = Integer.parseInt(jmlUnit);
            } catch (NumberFormatException ex) {
            }
            try {
                nilaiHarga = Long.parseLong(hargaPerHari);
            } catch (NumberFormatException ex) {
            }
            try {
                nilaiSewa = Integer.parseInt(lamaSewa);
            } catch (NumberFormatException ex) {
            }
            if (tombolHitung.equalsIgnoreCase("Hitung")) {
                total = nilaiHarga * nilaiJmlUnit * nilaiSewa;
            }

            konten += "<label for='bayar'><b>Total Rp.</b></label><br>";
            konten += "<input type='number' min='0' name='bayar'  readonly value='" + Long.toString(total) + "' style='width: 70%'>"
                    + "<input type='submit' name='hitung' value='Hitung' style='width: 28%; float: right'>";
            konten += "<center><input id='simpan' type='submit' name='tombol' value='Simpan'>";
            konten += "<input id='hapus' type='submit' name='tombol' value='Hapus'>";
            konten += "<input id='lihat' type='submit' name='tombol' value='Reset'></center>";
            if (!tombol.equals("") && !keterangan.equals("<br>")) {
                konten += "<tr>";
                konten += "<p><font style='color:red'><b>" + keterangan.replaceAll("n", "<br>").replaceAll(";", ",") + "</b></font></p>";
                konten += "</tr>";
            }
            konten += "</form>";

            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }
    }


Output:


Membuat Laporan

Laporan Rental Mobil

Source Code LaporanRentalMobilController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
String[][] formatTypeData = {{"PDF (Portable Document Format)","pdf","application/pdf"},
            {"XLSX (Microsoft Excel)","xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
            {"XLS (Microsoft Excel 97-2003)","xls","application/vnd.ms-excel"},
            {"DOCX (Microsoft Word)","docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
            {"ODT (OpenDocument Text)","odt","application/vnd.oasis.opendocument.text"},
            {"RTF (Rich Text Format)","rtf","text/rtf"}};
        
        Date tgl=new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        HttpSession session = request.getSession(true);
        String userName = "";
        
        String tombol = request.getParameter("tombol");
        String opsi = request.getParameter("opsi");
        String kodeRental = request.getParameter("koderental");
        String awalStr = request.getParameter("awal");
        String akhirStr=request.getParameter("akhir");
        String kelas = request.getParameter("kelas");
        String formatType = request.getParameter("formatType");
                
        if (tombol==null) tombol="";
        if (kodeRental==null) kodeRental="";
        if (opsi==null) opsi="";
        if (awalStr==null) awalStr="0";
        if (akhirStr==null) akhirStr="0";
        if (formatType==null) kelas="";
        
        String keterangan = "<br>";
        int noType = 0;
        
        for (int i=0; i<formatTypeData.length; i++){
            if (formatTypeData[i][0].equals(formatType)){
                noType = i;
            }
        }
        
        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex){}
        
        if (!((userName == null) || userName.equals(""))){
            boolean opsiSelected = false;
            
            if (tombol.equals("Cetak")){
                RentalMobil rentalMobil = new RentalMobil();
                
                Date awal=new Date(), akhir=new Date();
                  
                if (rentalMobil.cetakLaporan(opsi, kodeRental, awalStr, akhirStr, formatTypeData[noType][1], getServletConfig().getServletContext().getRealPath("reports/RentalMobil.jrxml"))){
                    byte[] pdfasbytes = rentalMobil.getPdfasbytes();
                    try (OutputStream outStream = response.getOutputStream()) {
                        response.setHeader("Content-Disposition","inline; filename=LaporanRentalMobil."+formatTypeData[noType][1]);
                        response.setContentType(formatTypeData[noType][2]);
                        
                        response.setContentLength(pdfasbytes.length);
                        outStream.write(pdfasbytes,0,pdfasbytes.length);
                        
                        outStream.flush();
                        outStream.close();
                    }
                } else {
                    keterangan += rentalMobil.getPesan();
                }
            }
            
            String konten = "<center><h1>Mencetak Laporan Rental Mobil</h1></center>";
            konten += "<form action='LaporanRentalMobilController' method='post'>";
            konten += "<table>";
            konten += "<tr>";
            if (opsi.equalsIgnoreCase("koderental")){
                konten += "<td align='right'><input type='radio' checked name='opsi' value='koderental'></td>";
                opsiSelected = true;
            } else {
                konten += "<td align='right'><input type='radio' name='opsi' value='koderental'></td>";
            }            
            konten += "<td align='left'>Kode Rental</td>";
            konten += "<td align='left'><input type='text' value='"+kodeRental+"' name='koderental' maxlength='15' size='15' placeholder='Masukkan Kode Rental'></td>";
            konten += "</tr>";
            
            konten += "<tr>";
            if(opsi.equalsIgnoreCase("tanggal")){
                konten+="<td align='right'><input type='radio' checked name='opsi' value='tanggal'></td>";
                opsiSelected=true;
            }else{
                konten+="<td align='right'><input type='radio' name='opsi' value='tanggal'></td>";
            }
            konten+="<td align='left'>Tanggal</td>";
            konten+="<td align='left'>"
                    + "<input type='date' name='awal' value='"+sdf.format(tgl)+"' style='width: 47%'> - "
                    + "<input type='date' name='akhir' value='"+sdf.format(tgl)+"' style='width: 47%'>"
                    + "</td>";
            
            konten += "</tr>";
                
            konten += "<tr>";
            if (!opsiSelected){
                konten += "<td align='right'><input type='radio' checked name='opsi' value='Semua'></td>";
            } else {
                konten += "<td align='right'><input type='radio' name='opsi' value='Semua'></td>";
            }
            konten += "<td align='left'>Semua</td>";
            konten += "<td><br></td>";            
            konten += "</tr>";
            
            konten += "<tr>";
            konten += "<td colspan='3'><br></td>";
            konten += "</tr>";
            
            konten += "<tr>";
            konten += "<td>Format Laporan</td>";
            konten += "<td colspan=2>";
            konten += "<select name='formatType'>";
            for (String[] formatLaporan : formatTypeData){
                if (formatLaporan[0].equals(formatType)){
                    konten += "<option selected value='"+formatLaporan[0]+"'>"+formatLaporan[0]+"</option>";
                } else {
                    konten += "<option value='"+formatLaporan[0]+"'>"+formatLaporan[0]+"</option>";
                }
            }
            konten += "</select>";
            konten += "</td>";
            konten += "</tr>";
            
            konten += "<tr>";
            konten += "<td colspan='3'><b>"+keterangan.replaceAll("n", "<br>").replaceAll(";", ",")+"</b></td>";
            konten += "</tr>";
            
            konten += "<tr>";
            konten += "<td colspan='3' align='center'><input type='submit' name='tombol' value='Cetak' style='width: 100px'></td>";
            konten += "</tr>";
            
            konten += "</table>";
            konten += "</form>";            
            
            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }    }


RentalMobil.jrxml

Output:



Laporan Stok Mobil

Source Code StokMobilController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession(true);
        DataMobil dataMobil = new DataMobil();
        String[][] formatTypeData = {{"PDF (Portable Document Format)", "pdf", "application/pdf"},
        {"XLSX (Microsoft Excel)", "xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
        {"XLS (Microsoft Excel 97-2003)", "xls", "application/vnd.ms-excel"},
        {"DOCX (Microsoft Word)", "docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
        {"ODT (OpenDocument Text)", "odt", "application/vnd.oasis.opendocument.text"},
        {"RTF (Rich Text Format)", "rtf", "text/rtf"}};
        String formatType = request.getParameter("formatType");
        String userName = "";

        String tombol = request.getParameter("tombol");
        String mulaiParameter = request.getParameter("mulai");
        String jumlahParameter = request.getParameter("jumlah");
        int noType = 0;

        for (int i = 0; i < formatTypeData.length; i++) {
            if (formatTypeData[i][0].equals(formatType)) {
                noType = i;
            }
        }

        if (tombol == null) {
            tombol = "";
        }

        int mulai = 0, jumlah = 10;

        try {
            mulai = Integer.parseInt(mulaiParameter);
        } catch (NumberFormatException ex) {
        }

        try {
            jumlah = Integer.parseInt(jumlahParameter);
        } catch (NumberFormatException ex) {
        }

        String keterangan = "<br>";

        try {
            userName = session.getAttribute("userName").toString();
        } catch (Exception ex) {
        }

        if (!((userName == null) || userName.equals(""))) {
            if (tombol.equals("Cetak")) {

                if (dataMobil.cetakLaporanStokMobil(formatTypeData[noType][1], getServletConfig().getServletContext().getRealPath("reports/StokMobil.jrxml"))) {
                    byte[] pdfasbytes = dataMobil.getPdfasbytes();
                    try (OutputStream outStream = response.getOutputStream()) {
                        response.setHeader("Content-Disposition", "inline; filename=LaporanStok Mobil." + formatTypeData[noType][1]);
                        response.setContentType(formatTypeData[noType][2]);

                        response.setContentLength(pdfasbytes.length);
                        outStream.write(pdfasbytes, 0, pdfasbytes.length);

                        outStream.flush();
                        outStream.close();
                    }
                } else {
                    keterangan += dataMobil.getPesan();
                }
            }
            String isi = "";
            String kontenLihat = "<table>";

            if (tombol.equals("Lihat") || tombol.equals("Sebelum") || tombol.equals("Berikutnya") || tombol.equals("Tampilkan")
                    || tombol.equals("") || tombol.equals("Cetak")) {
                if (tombol.equals("Sebelum")) {
                    mulai -= jumlah;
                    if (mulai < 0) {
                        mulai = 0;
                    }
                }

                if (tombol.equals("Berikutnya")) {
                    mulai += jumlah;
                }

                Object[][] listDataMobil = null;
                if (dataMobil.bacaData(mulai, jumlah)) {
                    listDataMobil = dataMobil.getList();
                } else {
                    keterangan = dataMobil.getPesan();
                }

                if (listDataMobil != null) {
                    for (int i = 0; i < listDataMobil.length; i++) {
                        isi += "<tr>";
                        isi += "<td>" + (i + 1) + "</td>";
                        for (int j = 0; j < listDataMobil[i].length; j++) {
                            isi += "<td>" + listDataMobil[i][j].toString() + "</td>";
                        }
                        isi += "</tr>";
                    }
                }                
                kontenLihat += "</table>";
                kontenLihat += "<center>";
                kontenLihat += "<input id='sblm' type='submit' name='tombolDataMobil' value='Sebelum'>";
                kontenLihat += "<input id='ssdh' type='submit' name='tombolDataMobil' value='Berikutnya'><br>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Mulai <input id='mulai' type='text' name='mulai' value=" + mulai + "> ";
                kontenLihat += "Jumlah";
                kontenLihat += "<select id='jml' name='jumlah'>";

                for (int i = 1; i <= 10; i++) {
                    if (jumlah == (i * 10)) {
                        kontenLihat += "<option selected value=" + i * 10 + ">" + i * 10 + "</option>";
                    } else {
                        kontenLihat += "<option value=" + i * 10 + ">" + i * 10 + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='tampil' type='submit' name='tombolDataMobil' value='Tampilkan'>";
                kontenLihat += "</center>";
                kontenLihat += "<center>";
                kontenLihat += "Format Laporan ";
                kontenLihat += "<select name='formatType' style='width: 50%'>";
                for (String[] formatLaporan : formatTypeData) {
                    if (formatLaporan[0].equals(formatType)) {
                        kontenLihat += "<option selected value='" + formatLaporan[0] + "'>" + formatLaporan[0] + "</option>";
                    } else {
                        kontenLihat += "<option value='" + formatLaporan[0] + "'>" + formatLaporan[0] + "</option>";
                    }
                }
                kontenLihat += "</select>";
                kontenLihat += "<input id='lihat' type='submit' name='tombol' value='Cetak'>";
                kontenLihat += "</center>";
            }

            String konten = "<center><h1>Stok Mobil</h1></center>";
            konten += "<form action='StokMobilController' method='post'>";
            konten += "<center><table id='t01'>";
            konten += "<thead>"
                    + "<tr>"
                    + "<th>No.</th>"
                    + "<th>Kode Mobil</th>"
                    + "<th>Nama Mobil</th>"
                    + "<th>Stok</th>"
                    + "<th>Transmisi</th>"
                    + "<th>Kapasitas</th>";
            konten += "</tr>";
            konten += "</thead>";
            konten += "<tbody>";
            konten += isi;
            konten += "</tbody>";
            konten += "</table></center>";
            konten += kontenLihat;
            konten += "</form>";

            new MainForm().tampilkan(konten, request, response);
        } else {
            response.sendRedirect(".");
        }
    }


StokMobil.jrxml

Output:






Comments